#include <bits/stdc++.h>

using namespace std;

int monster[100010];
bool vis[100010];

int fast_read()
{
    char c;
    int f=1,x=0;
    c=getchar();
    while(c<'0'||c>'9')
    {
        if(c=='-') f=-1;
        c=getchar();
    }
    while(c>='0'&&c<='9')
    {
        x=x*10+(c-'0');
        c=getchar();
    }
    x*=f;
    return x;
}

int main()
{
    freopen("duel.in","r",stdin);
    freopen("duel.out","w",stdout);
    int n,num=0,tmp=0;
    scanf("%d",&n);
    memset(vis,0,sizeof(vis));
    for(int i=1; i<=n; i++)
    {
        monster[++num]=fast_read();
    }
    stable_sort(monster+1,monster+n+1);
    for(int i=1,j=2; i<=n; i++)
    {
        while(monster[i]==monster[j])
            j++;
        if(monster[j]>monster[i])
        {
            if(!vis[j])
            {
              tmp++;
              vis[j]=true;
              j++;
            }
        }
    }
    printf("%d",n-tmp);
    return 0;
}
